package ${ftl_dao_package};

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.base.web.common.Pager;

import ${ftl_domain_package}.${className};

/**
 * Mapper：${tableInfo.table_comment?if_exists}.
 * @author ${ftl_author}
 * @since ${ftl_now}
 * @version ${ftl_version}
 */
public interface I${className}Mapper {

    int insert(${className} obj);

    int updateById(${className} obj);// 根据主键来更新

    int deleteById(${idType} id);// 根据主键来删除

    ${className} getById(${idType} id);

    List<${className}> getListByCondition(@Param("obj") ${className} obj);

    /**
     * 根据过滤条件查询出数据列表（用于分页）
     * @param page 分页参数对象
     * @param obj 过滤条件对象
     * @param otherParam 其它过滤条件
     */
    List<${className}> getListPage(@Param("page") Pager page, @Param("obj") ${className} obj, @Param("otherParam") Map<String, Object> otherParam);

    /**
     * 根据过滤条件查询出数据列表（用于分页）
     * @param obj 过滤条件对象
     * @param otherParam 其它过滤条件
     */
    int count(@Param("obj") ${className} obj, @Param("otherParam") Map<String, Object> otherParam);

}
